#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
typedef int SLDataType;

typedef struct SLNode
{
	SLDataType data;
	struct SLNode* next;
}SLN;

void PrintList(struct SLNode* phead);
struct SLNode* BuyNewNode(SLDataType x);

void SListPushBack(struct SLNode** pphead, SLDataType x);
void SListPushFront(struct SLNode** pphead, SLDataType x);

void SListPopBack(struct SLNode** pphead);
void SListPopFront(struct SLNode** pphead);

struct SLNode* SearchList(struct SLNode** pphead, SLDataType x);

void InsertList(struct SLNode** pphead,SLDataType x, struct SLNode*pos);
void SListErase(struct SLNode** pphead, struct SLNode* pos);